home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS26.ADF / HexDump / HexParse.mod < prev    next >
Text File  |  1989-01-26  |  1KB  |  60 lines

  1. IMPLEMENTATION MODULE HexParser;
  2.  
  3. FROM Hex    IMPORT CharType;
  4.  
  5.    PROCEDURE LineFeed(ch : CharType; z : CARDINAL): BOOLEAN;
  6.  
  7.    (* Returns TRUE if ch is a line feed. *)
  8.  
  9.    BEGIN
  10.       RETURN (ch[z] = CHR(2EH));
  11.    END LineFeed;
  12.  
  13.    PROCEDURE IsAlpha(ch : CharType; z : CARDINAL): BOOLEAN;
  14.  
  15.    (* Returns TRUE if ch is a letter between A and F. *)
  16.  
  17.    BEGIN
  18.       RETURN (CAP(ch[z]) >= 'A') AND (CAP(ch[z]) <= 'F');
  19.    END IsAlpha;
  20.  
  21.    PROCEDURE IsDelimiter(ch : CharType; z : CARDINAL):BOOLEAN;
  22.  
  23.    (* Returns TRUE if ch is a delimiter. *)
  24.  
  25.       VAR
  26.          Done : BOOLEAN;
  27.    BEGIN
  28.       CASE CAP(ch[z]) OF
  29.  
  30.          ' ' : Done := TRUE |
  31.          '+' : Done := TRUE |
  32.          '-' : Done := TRUE |
  33.          '/' : Done := TRUE |
  34.          '*' : Done := TRUE |
  35.          '%' : Done := TRUE |
  36.          '^' : Done := TRUE |
  37.          '=' : Done := TRUE |
  38.          '(' : Done := TRUE |
  39.          ')' : Done := TRUE |
  40.          '$' : Done := TRUE |
  41.          ',' : Done := TRUE ;
  42.       ELSE
  43.          Done := FALSE;
  44.       END; (* CASE *)      
  45.       IF Done THEN
  46.          RETURN TRUE;
  47.       ELSE
  48.          RETURN FALSE;
  49.       END;
  50.    END IsDelimiter;
  51.  
  52.    PROCEDURE IsDigit(ch : CharType; z : CARDINAL): BOOLEAN;
  53.  
  54.    (* Returns TRUE if ch is a digit between 0 and 9. *)
  55.  
  56.    BEGIN
  57.       RETURN (CAP(ch[z]) >= '0') AND (CAP(ch[z]) <= '9');
  58.    END IsDigit;
  59.  
  60. END HexParser.